package com.fanyu.test.personal;

import java.nio.charset.StandardCharsets;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;

import org.springframework.util.DigestUtils;

import com.alibaba.fastjson.JSONObject;
import com.fanyu.framework.utils.HttpClients4;

/**
 * 登录对接检测系统（登录对接到系统）
 */

public class AutoLoginonly {
    public static void main(String[] args) {
        // 请求参数
        String key = "********************"; // 由维普提供的密钥
        String userid = "***"; // 由维普提供的userid
        String timeStamp = new SimpleDateFormat("yyMMddHHmmssSSS").format(new Date()); // 时间搓精确到毫秒，将验证时效性

        // 组装请求参数
        Map<String, Object> param = new HashMap<>();
        param.put("timestamp", timeStamp);
        param.put("username", "***"); // 用户名自定义
        param.put("userid", userid); // 由维普提供的userid
        param.put("logout", "***"); // 退出登录跳转地址，不参与到加密串
        String strParams = "username=" + "***" + "&timestamp=" + timeStamp; // 组装sign
        strParams = strParams + "&key=" + key; // 组装sign
        String sign = DigestUtils.md5DigestAsHex(strParams.getBytes(StandardCharsets.UTF_8)).toUpperCase(); // sign MD5加密
        param.put("sign", sign);

        // 发送请求
        HttpClients4 clients4 = new HttpClients4();
        HttpClients4.HttpClientResult hcr = clients4.post("https://vpcsapi.fanyu.com/personal/Library/AutoLoginonly.aspx", param);

        // 查看返回内容
        JSONObject jsonObject = JSONObject.parseObject(hcr.getBodyAsString());
        System.out.println(jsonObject);
    }
}
